package com.qf.common.util;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;

import java.text.ParseException;
import java.util.Date;

@Slf4j
public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
    private static final String[] parsePatterns = {
            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
            "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
            "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.ddHH:mm", "yyyy.MM"};

    /**
     * 日期型字符串转化为日期 格式
     * @param dateStr 待转换日期字符串
     */
    public static Date parseDate(String dateStr) {
        try {
            return parseDate(dateStr, parsePatterns);
        } catch (ParseException e) {
            log.error("日期转换异常", e);
        }
        return null;
    }


    /**
     * 得到日期字符串 默认格式（yyyy-MM-dd）
     * @param date  带转换日期
     * @param pattern   日期格式
     */
    public static String formatDate(Date date, Object... pattern) {
        String formatDate = null;
        if (pattern != null && pattern.length > 0) {
            formatDate = DateFormatUtils.format(date, pattern[0].toString());
        } else {
            formatDate = DateFormatUtils.format(date, "yyyy-MM-dd");
        }
        return formatDate;
    }
}
